tg-me.com/python_academy/931
Last Update:
Абстрактные классы и методы
В абстрактном классе обычно реализуется общая часть нескольких сущностей или другими словами – абстрактная сущность.
Абстрактный метод – это метод, который не имеет своей реализации в базовом классе, и он должен быть реализован в классе-наследнике.
Для того, чтобы создать абстрактный класс с абстрактными методами, надо импортировать вспомогательные метакласс ABCMeta
и декоратор abstractmethod
из модуля abc
.
Если мы отнаследуем новый класс от абстрактного класса, не переопределив абстрактные методы, в данном случае method
, и попробуем создать экземпляр, то получим исключение TypeError
.
Для того, чтобы код заработал корректно, нам необходимо переопределить все абстрактные методы. То есть по сути еще раз просто написать метод, но уже в новом классе.
UPD. В коде опечатка, в классе GoodExample
метод должен называться method
, а не function
.
#классы #метаклассы #abc
BY Python Academy

Share with your friend now:
tg-me.com/python_academy/931